package com.guodidi.media.domain.bo;

import lombok.Data;

import java.io.File;

/**
 * 参数文档：https://ffmpeg.org/ffmpeg-formats.html Created by 郭垚辉 on 2017/7/27.
 */
@Data
public class HlsParams {

    // 强制编码类型 hls ssegment
    private String f;

    // 设置切割第一个ts文件的时长，默认为0
    private String hlsInitTime;

    // 设置切割每一个ts文件的时长，(如果设置了hlsInitTime,则第一个ts遵从hlsInitTime的时间值)，默认2s
    private String hlsTime;

    // 设置playlist文件中最多存储的ts文件的数目，默认为0存储全部
    private String hlsListSize;

    // 设置playlist文件中ts文件的前缀，推荐使用相对路径
    private String hlsBaseUrl;

    // 设置磁盘中要保存的ts文件的数量，默认为0，存储全部
    private String hlsWrap;

    // 设置是否使用本地时间
    private String useLocaltime;

    private String useLocaltimeMkdir;

    // 设置二级名称索引
    private String hlsFlags;

    // 设置ts文件的命名 file%03d.ts -- > file001.ts file002.ts
    private String hlsSegmentFilename;


    public HlsParams() {
        this.f = "hls";
        this.hlsWrap = "0";
        this.hlsListSize = "0";
        this.hlsInitTime = "5";
        this.useLocaltime = "1";
        this.useLocaltimeMkdir = "1";
        this.hlsTime = "10";
        this.hlsFlags = "second_level_segment_index";
        this.hlsBaseUrl = "sub" + File.separator;
        // file-20160205-0001.ts
        this.hlsSegmentFilename = "output_" + "file-%Y%m%d-%%04d.ts";
    }

    public void setHlsBaseUrl(String hlsBaseUrl) {
        this.hlsBaseUrl = hlsBaseUrl + File.separator;
    }
}
